package com.ybkj.daijia.api.apirest;

import com.ybkj.daijia.api.util.ResultTransport;
import com.ybkj.daijia.common.Pager;
import com.ybkj.daijia.page.Page;
import com.ybkj.daijia.server.service.CompanyService;
import com.ybkj.daijia.server.service.NewsService;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 移动端获取广告位控制器
 *
 * @author zane
 */
@Controller
@RequestMapping("/api/news/")
public class AppNewsController {

    @Autowired
    private NewsService newsService;

    @Autowired
    private CompanyService companyService;

    /********************************************************************************************
     *
     * 获取广告位
     *
     ********************************************************************************************/

    /**
     * 获取微信指定服务类型的广告位
     *
     * @param companyId   公司id
     * @param serviceType 服务类型[pao/zhuan/zhuanche/daijia/zu/...]
     * @return
     * @throws Exception
     */
    @ResponseBody
    @RequestMapping(value = "weixin", method = {RequestMethod.GET})
    public Page<Map<String, Object>> getNewsByWeixin(String serviceType, Long companyId)
        throws Exception {
        // 获取第一页
        Integer page = 0;
        // 获取5条（这里后台只允许最多创建5条）
        Integer rows = 5;
        String contType = "weixin";
        // 如果没有传入公司，默认主公司
        if (null == companyId) {
            companyId = companyService.getMain().getId();
        }
        return newsService.queryNews(null, companyId, serviceType, contType, page, rows);
    }

    /**
     * 获取app指定服务类型的广告位
     *
     * @param companyId   公司id
     * @param serviceType 服务类型[pao/zhuan/zhuanche/daijia/zu/...]
     * @return
     * @throws Exception
     */
    @ResponseBody
    @RequestMapping(value = "app", method = {RequestMethod.GET})
    public ResultTransport getNewsByApp(String serviceType, Long companyId)
        throws Exception {
        ResultTransport resultTransport = new ResultTransport();
        // 获取第一页
        Integer page = 0;
        // 获取5条（这里后台只允许最多创建5条）
        Integer rows = 5;
        Pager.setOffset(0);
        Pager.setLimit(5);
        String contType = "app";
        // 如果没有传入公司，默认主公司
        if (null == companyId) {
            companyId = companyService.getMain().getId();
        }
        resultTransport
            .setData(newsService.queryNews(null, companyId, serviceType, contType, page, rows));
        return resultTransport;
    }
}
